home *** CD-ROM | disk | FTP | other *** search
/ ASME's Mechanical Engine…ing Toolkit 1997 December / ASME's Mechanical Engineering Toolkit 1997 December.iso / c_lang / pcc_code.lzh / CAT.C next >
Encoding:
C/C++ Source or Header  |  1986-02-27  |  1.0 KB  |  52 lines

  1.  
  2. #include <\desmet\include\stdio.h>
  3. #include <filefind.h>
  4. #define EOS '\0'
  5. #define EOFILE '\032'
  6. #define ERROR (-1)
  7.  
  8. main(argc,argv)
  9. int argc;
  10. char *argv[];
  11. {
  12.     FILE fp;
  13.     int c;
  14.     int i=0;
  15.     char path[85], fileBuf[85];
  16.     char *where;
  17.     struct DataArea DTA;
  18.  
  19.     setDta(&DTA);
  20.     --argc;
  21.     if(argc) {
  22.         while(argc) {
  23.             ++i;
  24.             strcpy(path,argv[i]);
  25.             if((where=rindex(path,'\\')))
  26.                 *(where+1)=EOS;
  27.             else if((where=rindex(path,':')))
  28.                 *(where+1)=EOS;
  29.             else 
  30.                 path[0]=EOS;
  31.             if(findFirst(argv[i],F_NORMAL)) {
  32.                 do {
  33.                     strcpy(fileBuf,path);
  34.                     strcat(fileBuf,DTA.dta_name);
  35.                     if((fp=fopen(fileBuf,"r")) != ERROR) {
  36.                            while((c=fgetc(fp)) != EOF) 
  37.                             fputc(c,stdout);
  38.                            fclose(fp);
  39.                      } else
  40.                         fprintf(stderr,"Can't Access %s ...\n",DTA.dta_name);
  41.                 } while(findNext(F_NORMAL));
  42.             } else
  43.                 fprintf(stderr,"Can't Find %s ...\n",argv[i]);
  44.             --argc;
  45.         }
  46.     }
  47.     else {
  48.         while((c=fgetc(stdin)) != 0x04 && c != EOF && c != EOFILE) {
  49.             fputc(c,stdout);    
  50.         }
  51.     }
  52. }